#include<iostream>
#include<vector>
#include<functional>
#include<algorithm>
using namespace std;

//内建函数对象_逻辑仿函数
//逻辑非

void test01()
{
	vector<bool>v;
	v.push_back(true);
	v.push_back(false);
	v.push_back(true);
	v.push_back(false);

	for (const auto& it : v)
	{
		cout << it << " ";
	}
	cout << endl;

	
//利用逻辑非 将容器v搬运到容器v2中，并执行取反操作

	vector<bool> v2;
	
	//搬运前要提前开辟好空间
	v2.resize(v.size());

	transform(v.begin(), v.end(),v2.begin(),logical_not<bool>());

	for (const auto& it : v2)
	{
		cout << it << " ";
	}
	cout << endl;
}	



int main()
{
	test01();

	system("pause");

	return 0;
}